// This is the main DLL file.

#include "stdafx.h"
#include <cstdlib>
#include "ImageProcessing.h"
#include <stdio.h>
using namespace std;

ImageProcessing::ImageProcess::ImageProcess(int width, int height, int stride, byte* imgScan0){
	imageWidth = width;
	imageHeight = height;
	imageStride = stride;
	scan0 = imgScan0;
}

void ImageProcessing::ImageProcess::DoAlgorithm(AlgorithmEnum algorithmKind, int amountOfTimes, int size){
	switch (algorithmKind)
	{
	case ImageProcessing::ImageProcess::AlgorithmEnum.Gaussian:
		for(int i = 0; i < amountOfTimes; ++i)
			DoGaussianFilter(size);
		break;
	case ImageProcessing::ImageProcess::AlgorithmEnum.Median:
		for(int i = 0; i < amountOfTimes; ++i)
			DoMedianFilter(size);
		break;
	default:
		break;
	}
}

void ImageProcessing::ImageProcess::MakeSomeNoise(NoiseEnum noiseKind, int percetage){
	switch (noiseKind)
	{
	case ImageProcessing::ImageProcess::NoiseEnum.SaltAndPepper:
		MakeSaltAndPepperNoise(percetage);
		break;
	default:
		break;
	}
}

void ImageProcessing::ImageProcess::AdjustImage(ImageAdjustmentEnum adjustmentKind){
	switch (adjustmentKind)
	{
	case ImageProcessing::ImageProcess::ImageAdjustmentEnum.BlackWhite:
		break;
	case ImageProcessing::ImageProcess::ImageAdjustmentEnum.Inverse:
		break;
	default:
		break;
	}
}

void ImageProcessing::ImageProcess::DoGaussianFilter(int size){

}

void ImageProcessing::ImageProcess::DoMedianFilter(int size){

}

void ImageProcessing::ImageProcess::MakeSaltAndPepperNoise(int percentage){

}



